Apa itu Data Science

image.png

Data Science merupakan salah satu ranah Ilmu Pengetahuan yang mana belum lama ini sedang Booming. Salah satu hal yang membuat ilmu ini dikenal banyak orang adalah ketika Timnas Jerman memenangkan Piala Dunia. Salah satu Faktor yang membuat Timnas Jerman menang ialah adanya peran Data Scientist, yang mana mengumpulkan data-data dari seluruh lawan Jerman seperti pola permainan yang mana data tersebut dibentuk dengan model Machine Learning. Dengan demikian, Tim Jerman dapat mengetahui cara mengalahkan lawan-lawannya berdasarkan pola permainan yang telah dianalisis.

image.png

Contoh lain, ketika kita ke supermarket terdapat bundling dalam membeli sebuah produk, seperti bundling produk shampoo dan soft drink. Bundling tersebut dibentuk berdasarkan pola pembelian yang dilakukan oleh para pelanggan. Lebih lanjut, berdasarkan historis data diketahui bahwa pelanggan yang membeli shampoo biasanya ikut juga membeli minuman. Setelah dianalisis kebiasan tersebut memiliki probabilitas atau peluang yang besar, dengan begitu untuk meningkatkan penjualan dilakukanlah bundling produk.

image.png

Aplikasi Data Scientist selanjutnya adalah rekomendasi produk. Misalnya ketika kita hendak membeli suatu barang di Ecommerce, maka akan muncul rekomendasi-rekomendasi produk yang mana berkaitan dengan barang yang hendak kita beli. Rekomendasi produk tersebut dibentuk berdasarkan pengumpulan data yang mana data-data tersebut dicari keterkaitan atau hubungan antar satu sama lain. Ketika ditemukan terdapat hubungan misalnya antara Mouse dengan Earphone maka ketika seseorang membeli Mouse, maka akan muncul rekomendasi produk Earphone.

image.png

Saat ini hampir seluruh sektor industri mengaplikasi Data Analytics dalam meningkatkan performa perusahaan. Dengan demikian, Harvard Business Review menobatkan Data Scientist sebagai pekerjaan paling seksi di Abad 21. Sebelumnya pekerjaan terseksi dipegang oleh Sektor Perminyakan, namun semakin hari minyak berkurang jumlahnya sedangkan data semakin hari semakin bertambah, oleh sebab itu pekerjaan data scientist menjadi suatu yang potensial.

image.png image-2.png

Data Scientist in Company

image.png

Data Scientist merupakan Ilmu baru yang mana gabungan dari beberapa ilmu yang sudah ada. Ilmu-ilmu tersebut adalah Matematika, Statistika, Computer Science/IT, Domains/Business Knowledge.

Secara spesifik, Data Science adalah sebuah profesi yang mana sebagai problem solver (menyelesaikan masalah) berdasarkan data. Misal terdapat permasalahan di suatu perusahaan, maka dilakukan analisis yang mana dapat memberikan solusi atas permasalahan tersebut.

Jika tidak terdapat permasalahan maka harus dicari permasalahan. Biasanya Data Scientist menempel dengan suatu produk di dalam perusahaan, yang mana dapat meningkatkan kinerja atau mengoptimalkan produk tersebut

Mengapa Data Science

image.png

Seperti yang telah disebutkan sebelumnya, terdapat peran Data Science di hampir seluruh Industri. Misalnya di Perusahaan Telkomsel, yang mana Data Scientist membuat model Machine Learning untuk Customer Segmentation. Dari model tersebut, promosi-promosi yang ditawarkan oleh telkomsel sudah tersegmentasi sesuai behavior atau karakteristik customer. Dengan demikian, probabilitas atau peluang customer dalam menggunakan promo tersebut maka lebih besar.

Jika di Sektor Pemerintah, misalnya ingin mengurangi kemiskinan. Maka Data Scientist akan mencari tahu faktor-faktor apa saja yang menyebabkan kemiskinan di setiap daerah, dengan demikian treatment atau penyelesaian masalah kemiskian dapat maksimal di setiap daerah.

Data Scientist VS Data Analyst

image.png

image.png

Descriptive Analytics merupakan analisis deskripsi yang mana melihat data berdasarkan gambaran umumnya. Dari data tersebut dapat diketahui apa yang sedang terjadi. Misalnya melihat ukuran pemusatan: mean, median, modus, ukuran penyebaran standar deviasi, visualisasi plot data. Contoh penerapan seperti Tren Penjualan.

Diagnostic Analytics: Bagaimana hal tersebut dapat terjadi. Misalnya mencari korelasi. Contohnya terjadi penurunan penjualan, dengan demikian dicari faktor yang menyebabkan terjadinya penurunan penjualan berdasarkan korelasi penjualan dengan faktor-faktor tersebut.

Predictive Analytics: Apa yang akan terjadi di masa depan. Kita membuat prediksi terkait suatu hal, misalnya membuat prediksi penjualan bulan depan atau tahun depan.

Prescriptive Analytics: Mencoba untuk mendeploy atau mengimplementasi apa yang sudah kita kerjakan sebelumnya. Pengimplemetasian tersebut dilakukan di dalam sistem, yang mana dapat bekerja secara otomatis.

Data Analyst bisanya hanya sampai Diagnostic analytics. Sedangkan Data Scientist hingga presciptive analytics.

Prerequites Data Scientist

image.png + Legal

Syarat-syarat apa saja untuk menjadi Data Scientist:

  1. Matematika & Statistika
  2. Computer Science
  3. Business Knowledge atau bisnis proses yang sedang dijalankan misalnya ecommerce
  4. Legal terkait privasi data

Data Science Tools

image.png

  1. Programming: Python (biasanya Industri), R (biasanya akademisi)
  2. SQL
  3. NoSQL: jarang digunakan karena biasanya sudah diconvert oleh data enginer
  4. Big data environment: Spark, Tensorflow
  5. Tableau
  6. Git: untuk kolaborasi

Alur Kerja Data Scientist

image.png

image.png

Terdapat 6 tahapan alur kerja Data Scientist

  1. Business Understanding: Kita mencoba untuk memahami sebuah proses bisnis, menentukan outcome dll
  2. Data Understanding: Kita mencoba mencari tahu kira-kira dari business goal yang telah kita tentukan, Setelah kita mendefine permasalahan bisnis, kita menentukan metode analisis apa yang cocok digunakan untuk menyelesaikan permasalah tersebut. Selanjutnya kita menentukan data-data yang kita perlukan itu apa saja. Data-data yang bisa gunakan apa aja sih, data tersebut kita dapat peroleh dari mana aja sih. Setelah itu, kita pahami datanya, misalnya kita paham maksud dari masing-masing kolom. Selanjutanya kita eksplor datanya, seperti mengetahui pemusatan data dan penyebaran data. Kita mencari insight-insight yang berada di dalam data tersebut
  3. Data Preparation: Menyiapkan data kita, kenapa? karena biasanya data-data tersebut merupakan data mentah/kotor seperti duplikasi, nilainya kosong, data yang tidak konsisten dll. Maka dalam tahap ini kita melakukan pembersihan data
  4. Modeling: Dalam tahap ini, tergantung business problem yang kita hadapi. Kita dapat menggunakan descriptive analytics, diagnostic analytics, predictive analytics, prescriptive analytics.
  5. Evaluation: Dalam tahap ini, kita menilai model yang sudah kita bangun sudah mampu menjawab business problem atau belum, dan juga mengukur tingkat keakuratan dari model yang telah kita buat.
  6. Deployment: Tahap terakhir, yang mana kita mengimplementasikan model yang kita bangun ke dalam sistem agar dapat berjalan secara otomatis.
  7. Feedback: Kita perlu memonitoring model yang telah kita bangun, apakah masih relevan atau tidak. Karena seiring waktu, data dapat menunjukan behavior atau karakteristik yang berbeda. Monitoring dilakukan secara berkala, misalnya sebulan sekali. Pada proses monitoring kita juga melakukan penambahan data secara berkala untuk melihat kinerja model.

Business Understading (Pemahaman Bisnis)

Pada tahap ini, kita fokus memahami proses serta permasalah-permasalah yang terdapat di bisnis.

Key Questions:

  1. What is problem statement? Kita memulai dari sebuah permasalahan, kita perlu memastikan apakah permasalahan tersebut dapat diselesaikan dengan data atau tidak
  2. What is business objective/benefit? Kita tentuk tujuan dari penyelesaian masalah ini apa, benefitnya apa
  3. What is Expected Outcome? kita menentukan ekspektasi output dari sebuah project, misalnya melakukan deploy atau sebuah dashboard dll
  4. What is methodology/analytics approch? kita menentukan kira-kira metode apa yang bisa kita gunakan
  5. What is success criteria? biasanya dalam membuat project terdapat matrix yang mana menilai apakah project ini berhasil atau tidak, misalnya kita membuat customer segmentation yang mana promosi yang kita buat dapat meningkatkan penjualan 10 %. Project yang kita buat dikatakan sukses apabila matrix terpenuhi

Contoh Kasus (Market Place)

Use Case : Customer Segmentations              

Objective / Problem Statement

Untuk mengurangi risiko dalam memutuskan di mana, kapan, bagaimana, dan kepada siapa produk, layanan, atau merek akan dipasarkan

Untuk meningkatkan efisiensi pemasaran dengan mengarahkan upaya secara khusus ke segmen yang ditentukan dengan cara yang konsisten dengan karakteristik segmen tersebut.

Business Benefit 

Membantu Tim Pengembangan Bisnis untuk menciptakan diferensiasi produk berdasarkan karakteristik masing-masing pelanggan

Mengoptimalkan customer retention rate

Mengetahui cara mentreatment pelanggan sesuai dengan kriteria/karakteristiknya.

Expected Outcome:

Dashboard berisi semua segmentasi pelanggan dan tingkat retensi (menambahkan profitabilitas untuk setiap pelanggan harus menjadi nilai tambah)

List produk paling populer untuk setiap segmen pelanggan

Methodology / Analytic Technique

Descriptive analysis (Aggregating, Transforming, Joining the data)

Segment Analysis (e.g. Demographic segmentations, Behaviour Segmentations, etc.)

Data Understanding (Pemahaman Data)

The data understanding phase starts with an initial data collection and proceeds with activities in order to get familiar with the data, to identify data quality problems, to discover first insights into the data, or to detect interesting subsets to form hypotheses for hidden information.

Key Questions:

  1. What data is needed?
  2. What data is available?
  3. What are the important characteristics of the data (Exploratory Data Analysis)?

Contoh Kasus (Market Place)

Dengan menggunakan kasus yang sama seperti sebelumnya, kita mengetahui sumber data yang kita perlukan terdapat di database perusahaan. Dengan menggunakan SQL kita dapat memperoleh data tersebut.

  1. SQL database:

Transactional data

Demographic data

Data Preperation (Persiapan Data)

What and Why

What

Pengolahan data menjadi format yang lebih mudah diolah dan lebih bermanfaat menjadi input model

Why

Garbage in Garbage out: ketika datanya tidak bagus maka output atau hasilnya juga tidak bagus

Format data tidak selalu rapi/mudah dibaca (tidak sesuai)

Mentransformasi data menjadi bentuk yang lebih bernilai

image.png

Mengapa Dilakukan Data Preperation?

Alasan:

  1. Lebih mudah untuk memvisualisasikan dan menganalisis dengan set data yang dibersihkan
  2. Interpretasi data valid
  3. Jika data tidak dibersihkan. Terkadang, ada fungsi yang akan error.
  4. Banyak data scientist dapat meningkatkan akurasi model hanya dari pembersihan dan pemrosesan data

Teknik untuk melakukan pemrosesan awal pada data

Cleaning Dataset:

  1. Duplicate Data: duplikasi atau data yang sama. Adanya duplikasi data bisa dikarena memang datanya sama atau kesalahan pada saat melakukan penginputan data.
  2. Missing Data: Datanya kosong, hal tersebut terjadi karena memang kosong atau kesalahan dalam melakukan penginputan
  3. Outliers: Data ekstrim yang mana dapat memengaruhi hasil. Misalnya ingin mengukur data tinggi badan, tetapi terdapat data yang menunjukan bahwa tinggi seseorang yaitu > 200 cm, jika dirata-ratakan maka akan memengaruhi hasil dan hasil tersebut tidak merepresentasikan sesuatu yang terjadi sebenarnya. maka perlu dilakukan treatment khusus terhadap data outliers.
  4. Data Type: Terkadang ketika kita melakukan import data terdapat tipe data yang tidak sesuai. Misalnya data tanggal, yang mana dalam python terbaca string atau tipe data text, maka perlu diubah.

Preprocessing Dataset:

  1. Membuat kolom atau Feature baru: Misalnya dalam data kita tidak terdapat kolom yang kita inginkan, maka kita dapat membuat kolom baru berdasarkan data-data yang sudah ada.
  2. Feature Scaling (Depends on the algorithm): Misalnya kita punya data, yang mana skalanya puluhan, sementara data lain skalanya ratusan ribu. Dengan demikian, terdapat gap skala yang besar, dalam beberapa metode machine learning dapat mengganggu model. Maka perlu ditreatment, yaitu disamakan dengan melakukan transformasi data.
  3. Encoding Categorical Feature: Beberapa model machine learning tidak dapat menghandle data non-angka. Maka perlu treatment khusus untuk menganalisis data-data yang berbentuk kategorik misalnya gender laki-laki menjadi nilai 1 perempuan menjadi nilai 0
  4. Dimensional reduction: Mereduksi jumlah data tanpa mengurangi jumlah data aslinya. misalnya terdapat 100 kolom, maka kita reduksi menjadi 5 kolom yang dapat merepresentasikan 100 kolom.
  5. Imbalance class: Adanya ketidakseimbangan data
  6. Data Partition: Membagi data, dalam machine learning biasanya kita membagi data menjadi dua yaitu data training dan data testing, dalam tahap ke 4 kita menggunakan data training dan tahap ke 5 kita menggunakan data testing

Contoh Kasus

Data Preparation

  1. Mengisi atau menghapus beberapa baris data yang kosong.
  2. Menghapus data duplikat.
  3. Menyeragamkan data gender, no. HP, atau alamat pengguna.
  4. Mengelompokkan jenis transaksi, frekuensi transaksi, dan jumlah uang yang dikeluarkan.
  5. Membuat feature baru dari feature yang sudah ada .

Modeling (Pemodelan)

What & Why

What

Membuat model machine learning / model statistika menggunakan data yang sudah dipreparation untuk mendapatkan hasil yang diinginkan. Dapat juga menggunakan model descriptive atau diagnostic tergantung kebutuhan

Why

Menyelesaikan masalah dengan pendekatan data (data driven)

Memanfaatkan kemampuan komputasi pada mesin untuk menyelesaikan masalah

What is Machine Learning?

Machine Learning adalah Kemampuan mesin untuk melakukan tugas tertentu yang dilakukan oleh manusia tanpa secara eksplisit diprogram untuk melakukannya tugas itu. Jadi kita hanya perlu melakukan modeling satu kali, untuk selanjutnya model tersebut akan berjalan secara otomatis. Sebagai contoh credit scoring dalam melakukan peminjaman uang. Maka kita membuat model credit scoring yang mana customer mengisi data di app atau website, maka hasilnya akan menentukan apakah customer layak atau tidak

Type of Machine Learning

image.png

Terdapat 3 jenis Machine Learning

image.png

  1. Supervised Learning

Dimana kita sudah memiliki input dan output data. Setelah itu kita modeling yang maka dari model tersebut dapat memprediksi input-input baru yang belum ada outputnya

  1. Unsupervised Learning Kita hanya memiliki data input. Dengan data input kita dapat memprediksi input baru untuk menghasilkan output.

Semi Supervised Learning image.png

  1. Semi Supervised Learning

Merupakan gabungan antara supervised dan unsupervised. Misalnya kita punya 1000 data, yang 600 sudah ada input dan output dan kemudian dibuat model. Dari model yang telah dibuat dari 600 data, maka model tersebut digunakan untuk memprediksi 400 data yang hanya memiliki input.

Contoh Kasus (Market Place)

Modeling

Membangun model machine learning menggunakan metode k-means clustering untuk mengelompokan pelanggan sesuai dengan karakteristiknya. Setelah melakukan clustering maka akan menghasilkan output yang mana berupa kelompok-kelompok yang royal, kolompok medium, kelompok pasif.

Evaluation (Evaluasi)

What & Why

What

Mengevaluasi efektivitas hasil pemodelan dan algoritma model itu sendiri

Why

Memastikan performa model sesuai ekspektasi dan tujuan bisnis

Menghindari overfitting atau underfitting terhadap data training

Mengukur Kriteria Kebaikan Model

Mengukur kriteria hasil prediksi dari model terhadap data sebenarnya

Menampilkan performa model menggunakan berbagai kriteria evaluasi(akurasi, AUC, recall, spesifisitas, dunn index, dll)

Contoh Kasus (Market Place)

Evaluation

Mengevaluasi hasil clustering(pengelompokan) pelanggan menggunakan kriteria dunn index (Matrix).

Deployment (Implementasi)

What & Why

What

Mengimplementasi model pada aplikasi atau menjalankan model secara kontinu untuk mendapatkan hasil prediksi secara langsung. Agar model dapat berjalan otomatis.

Why

Agar model dapat berjalan secara mulus pada backend dan membantu menyelesaikan masalah.

Biasanya di tahap ini, Data Scientist bekerjasama dengan Software Engineer

Melakukan prediksi terhadap data secara langsung

Membuat model kita mampu melakukan prediksi secara otomatis di sebuah sistem

Bekerja sama dengan Machine Learning Engineer untuk mengimplementasikan model

Menggunakan output/ hasil dari model untuk proses selanjutnya

Contoh Kasus (Market Place)

Deployment

Membuat model clustering mampu mengelompokan pelanggan-pelanggan secara otomatis dan real time, sehingga mampu mentreatment pelanggan tersebut dengan lebih tepat.

Feedback (Timbal Balik)

What & Why

What

Mengecek apakah model sudah berjalan dengan baik dan secara semestinya

Why

Performa model sangat mungkin berubah seiring waktu

Memastikan model berjalan mulus sesuai ekosistem nya

Mengevaluasi secara berkala performa model yang sudah berjalan dengan otomatis

Menilai performa hasil prediksi model pada data sebenarnya dan real time

Memastikan adanya dampak bisnis yang terukur dari penerapan model

Contoh Kasus

Feedback

Menilai performa model clustering secara berkala, apakah pengelompokannya sesuai

Menilai performa model dari segi bisnis, apakah mampu meningkatkan profit setelah melakukan treatmen yang lebih baik dan sesuai terhadap para pelanggan